Large scale Internet applications are generally provided by service providers through a series of application and data servers. As demand for the service increases, service providers desire to increase the capacity of their systems while maintaining a manageable environment. Providing large scale applications causes unique problems in monitoring the health of the application and data servers. In particular, multiple-tier applications where the front end tier is accessible to the general public pose an even more unique problem as there is no upper bound to the amount of load that can be exercised by the public on the system.
Large scale internet application developers have encountered resource problems when the load on the overall system becomes very large. In come cases, the load on the system can become so large that it begins to magnify itself and leads to generalized failures to users across the service. This can exhibit itself in multiple ways. One faulting component can destabilize the entire environment. Large levels of load can expose bugs (from application to operating system to hardware) that are only caused under these conditions. Multiple faulting components can destabilize the entire environment.
Most operating systems and servers provide the ability to monitor events in some fashion. Perhaps most familiar are operating system event monitors which check operating system events and provide feedback to a system administrator. Generally, application servers make requests—read, write, DNS and the like—to other servers in large scale application environments. Some such environments support event monitoring between the servers and include the ability to report on inter-server events.
Improvements in providing large scale application services provide benefits to users.